Hard disk drives (HDD) are one of the most common failure-prone components in data center devices. Computing devices such as computer servers or data storage servers employ storage virtualization technology such as multiple-drive storage systems to improve performance and functionality of data storage systems. As shown in FIG. 1, a server 1 may comprise a multiple-drive storage system having a plurality of hard disk drives 10 which appears as a single logical unit to the Operating System (“OS”) of the server 1. For example, the plurality of hard disk drives 10 may be joined to form a single redundant array of independent disks (“RAID”) to protect the servers from data loss when one or more drives fail by providing data redundancy. There are different levels of RAID with various characteristics and specifications. FIG. 2 shows a table illustrating examples of standard levels of RAID and the highlighted column provides the associated fault tolerance of the RAID for each RAID level.
Typically, enterprise servers allow hot swapping (i.e. replacement) of hard drives without impacting upon server operation. Current designs allow any hard disk drive to be pulled out at any time by a user. However, with a large number of hard drives in a server, complex RAID levels and the use of global hot spare drives, it may be very difficult for the user to tell which and/or when a drive can be pulled out safely, without compromising integrity of the RAID array and/or the data. Often, if a wrong disk drive is removed from the server and/or at the wrong time, damaging consequences such as failure of entire RAID array and irreversible data loss may result.
Therefore, it is desirable to provide an improved method of controlling a computing device which has a multiple-drive storage system and a controller for controlling such a computing device.